This disk contains an 8 bit 65c02 disassembler program Applesource which produces a source output that can be assembled by the Apple Edasm assembler which is included. The Applesource basic program contains internally a disassembler applesrc.obj which is called from basic. The disassembler source applesrc.src is included. This disassembler was actually derived from the Apple Bugbyter. The machine language disassembler exists at $980 just after the basic code which means the basic program cannot be modified !!! To disassemble a program, a binary control file must be created with a suffix .CTL. It is a table of 3 byte parameters of address followed by type. This control table must be manually created by examining the code to determine address locations of various types. A sample bugcontrol.txt was included which is a control file source for Apple Bugbyter. Assemble this to produce bugbyter.ctl:

 ORG $0300
;
;Sample control file for APPLESOURCE
;Need to assemble to filename.CTL.
;APPLESOURCE bloads filename.CTL,A$300.
;TABLE EQU $0300 in APPLESOURCE code.
;$300-$3CF has room for 69 3 byte parameters.
;
TEXT EQU $C1 ;"A" creates asc string
BYTE EQU $C2 ;"B" creates DB bytes and labels
CODE EQU $C3 ;"C" creates 65c02 code disassembly with labels
ENDP EQU $C5 ;"E" designates end of disassembly
ORIG EQU $CF ;"O" generates an ORG directive
VARI EQU $D6 ;"V" creates DS storage with labels
WORD EQU $D7 ;"W" creates DW word tables with labels
;
TABLE DW $0800	;ORG $0800
 DB ORIG
 DW $0800	;disassemble code
 DB CODE
 DW $0803	;H0803 DB $80...
 DB BYTE
 DW $080E	;lots more code
 DB CODE
 DW $2015	;H2015 DS $10...	
 DB VARI
 DW $211D	;H211D DB $0F...
 DB BYTE
 DW $2121	;ASC "SKIP"...
 DB TEXT
 DW $21D1	;H21D1 DB $03...
 DB BYTE
 DW $2221	;H2221 DW H0D44
 DB WORD
 DW $225D	;H225D DB $27...
 DB BYTE
 DW $229D	;ASC "BRKPHPBPLCLC"...
 DB TEXT
 DW $238D	;H238D DB $04...
 DB BYTE
 DW $23ED	;end of program
 DB ENDP

Run Applesource and when prompted for a filename, enter bugbyter and it will produce a source file bugbyter.asm. If bugbyter.asm already exists the program will exit with duplicate file name error. If the .ctl file doesn't exist the program will exit with path not found. The asm file will contain the equate table at the end of the disassembly which can be cut and pasted to the beginning. Applesource will report how many zero page absolute instructions it encountered. The sample Bugbyter reported:
12 UNCLAIMED LABELS = H00NN
Search the generated bugbyter.asm source for operand labels in the form H00nn. These will have to be manually added at the end of source file as follows:

H0020 EQU $0020
H0021 EQU $0021
H0022 EQU $0022
H0023 EQU $0023
H0024 EQU $0024
H0025 EQU $0025
H0028 EQU $0028
H0029 EQU $0029

This is a requirement of the Edasm assembler.  The applesrc.src file contains more details on operation.

This disk is boots into the Edasm assembler. Type 'exit basic.system' to drop into basic to run Applesource.
  